package com.erp.erp_ui.money.vo;

import com.erp.erp_ui.business.vo.DataInfoLogVo;
import com.erp.erp_ui.warehouse.vo.AnnexVo;

import java.math.BigDecimal;
import java.util.List;

/**
 * @ClassName : PaymentInfoVo
 * @Description : 付款主表出参实体
 * @Author : lst
 * @Date: 2021-04-04 20:56
 */
public class PaymentInfoVo {
    /**
     * 主键id
     */
    private Integer id;
    /**
     * 付款单号
     */
    private String billNo;
    /**
     * 应付时间
     */
    private String time;
    /**
     * 供应商名称
     */
    private String supplierName;
    /**
     * 供应商编码
     */
    private String supplierCode;
    /**
     * 收款银行名称
     */
    private String bankName;
    /**
     * 收款银行账号
     */
    private String bankAccount;
    /**
     * 币种
     */
    private String currency;
    /**
     * 币种编码
     */
    private String currencyCode;
    /**
     * 人名币汇率
     */
    private BigDecimal rmbRate;
    /**
     * 美金汇率
     */
    private BigDecimal usdRate;
    /**
     * 付款金额
     */
    private BigDecimal amount;
    /**
     * 制单公司名称
     */
    private String companyName;
    /**
     * 制单公司编码
     */
    private String companyCode;
    /**
     * 操作员
     */
    private String operation;
    /**
     * 操作员编码
     */
    private String operationNo;
    /**
     * 备注
     */
    private String memo;
    /**
     * 创建时间
     */
    private String createDate;
    /**
     * 付款类型(1:登记预付款 2:登记货款)
     */
    private Integer type;
    /**
     * 付款类型(1:登记预付款 2:登记货款)
     */
    private String typeStr;

    /**
     * 产品明细
     */
    private List<PaymentDetailInfoVo> detailList;

    /**
     * 实付明细
     */
    private List<PaymentActuallyVo> actuallyList;

    /**
     * 退款明细
     */
    private List<PaymentRefundInfoVo> refundList;

    /**
     * 附件集合
     */
    private List<AnnexVo> annexList;

    /**
     * 日志集合
     */
    private List<DataInfoLogVo> logList;


    public List<PaymentRefundInfoVo> getRefundList() {
        return refundList;
    }

    public void setRefundList(List<PaymentRefundInfoVo> refundList) {
        this.refundList = refundList;
    }

    public List<PaymentActuallyVo> getActuallyList() {
        return actuallyList;
    }

    public void setActuallyList(List<PaymentActuallyVo> actuallyList) {
        this.actuallyList = actuallyList;
    }

    public String getTypeStr() {
        return typeStr;
    }

    public void setTypeStr(String typeStr) {
        this.typeStr = typeStr;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getSupplierCode() {
        return supplierCode;
    }

    public void setSupplierCode(String supplierCode) {
        this.supplierCode = supplierCode;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public String getBankAccount() {
        return bankAccount;
    }

    public void setBankAccount(String bankAccount) {
        this.bankAccount = bankAccount;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getCurrencyCode() {
        return currencyCode;
    }

    public void setCurrencyCode(String currencyCode) {
        this.currencyCode = currencyCode;
    }

    public BigDecimal getRmbRate() {
        return rmbRate;
    }

    public void setRmbRate(BigDecimal rmbRate) {
        this.rmbRate = rmbRate;
    }

    public BigDecimal getUsdRate() {
        return usdRate;
    }

    public void setUsdRate(BigDecimal usdRate) {
        this.usdRate = usdRate;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getCompanyCode() {
        return companyCode;
    }

    public void setCompanyCode(String companyCode) {
        this.companyCode = companyCode;
    }

    public String getOperation() {
        return operation;
    }

    public void setOperation(String operation) {
        this.operation = operation;
    }

    public String getOperationNo() {
        return operationNo;
    }

    public void setOperationNo(String operationNo) {
        this.operationNo = operationNo;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public List<PaymentDetailInfoVo> getDetailList() {
        return detailList;
    }

    public void setDetailList(List<PaymentDetailInfoVo> detailList) {
        this.detailList = detailList;
    }

    public List<AnnexVo> getAnnexList() {
        return annexList;
    }

    public void setAnnexList(List<AnnexVo> annexList) {
        this.annexList = annexList;
    }

    public List<DataInfoLogVo> getLogList() {
        return logList;
    }

    public void setLogList(List<DataInfoLogVo> logList) {
        this.logList = logList;
    }

    public String getCreateDate() {
        return createDate;
    }

    public void setCreateDate(String createDate) {
        this.createDate = createDate;
    }


    /**
     * 重写toString
     */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("PaymentInfoVo").append('[')
                .append("id=")
                .append(id)
                .append(",billNo=")
                .append(billNo)
                .append(",time=")
                .append(time)
                .append(",supplierName=")
                .append(supplierName)
                .append(",supplierCode=")
                .append(supplierCode)
                .append(",bankName=")
                .append(bankName)
                .append(",bankAccount=")
                .append(bankAccount)
                .append(",currency=")
                .append(currency)
                .append(",currencyCode=")
                .append(currencyCode)
                .append(",rmbRate=")
                .append(rmbRate)
                .append(",usdRate=")
                .append(usdRate)
                .append(",amount=")
                .append(amount)
                .append(",companyName=")
                .append(companyName)
                .append(",companyCode=")
                .append(companyCode)
                .append(",operation=")
                .append(operation)
                .append(",operationNo=")
                .append(operationNo)
                .append(",memo=")
                .append(memo)
                .append(",createDate=")
                .append(createDate)
                .append(",type=")
                .append(type)
                .append(",typeStr=")
                .append(typeStr)
                .append(",detailList=")
                .append(detailList)
                .append(",actuallyList=")
                .append(actuallyList)
                .append(",refundList=")
                .append(refundList)
                .append(",annexList=")
                .append(annexList)
                .append(",logList=")
                .append(logList)
                .append(']');
        return sb.toString();
    }
}
